@echo off
REM HTTP性能压测工具使用示例 - Windows批处理脚本
REM 这个脚本演示了各种使用方式

echo ========================================
echo HTTP性能压测工具使用示例
echo ========================================
echo.

REM 设置JAR文件路径
set JAR_FILE=target\http-performance-tester.jar

REM 检查JAR文件是否存在
if not exist "%JAR_FILE%" (
    echo 错误: 找不到JAR文件 %JAR_FILE%
    echo 请先运行 'mvn package' 编译项目
    pause
    exit /b 1
)

echo 1. 显示帮助信息
java -jar %JAR_FILE% --help
echo.

echo ========================================
echo 2. 生成示例配置文件
echo ========================================
java -jar %JAR_FILE% --example example-generated.yml
if %ERRORLEVEL% EQU 0 (
    echo 示例配置文件已生成: example-generated.yml
) else (
    echo 生成示例配置文件失败
)
echo.

echo ========================================
echo 3. 验证配置文件
echo ========================================
java -jar %JAR_FILE% --config config\simple-config.yml --validate
if %ERRORLEVEL% EQU 0 (
    echo 配置文件验证成功
) else (
    echo 配置文件验证失败
)
echo.

echo ========================================
echo 4. 快速测试模式 - 测试单个URL
echo ========================================
echo 测试 httpbin.org 的GET请求，5个并发用户，持续30秒
java -jar %JAR_FILE% --url "https://httpbin.org/json" --users 5 --duration 30 --format console
echo.

echo ========================================
echo 5. 快速POST请求测试
echo ========================================
echo 测试POST请求，带请求体和请求头
java -jar %JAR_FILE% --url "https://httpbin.org/post" --method POST --data "{\"test\":\"data\"}" --header "Content-Type=application/json" --users 3 --duration 20
echo.

echo ========================================
echo 6. 使用简单配置文件运行测试
echo ========================================
java -jar %JAR_FILE% --config config\simple-config.yml --format html --output .\results
echo.

echo ========================================
echo 7. 使用完整配置文件运行测试
echo ========================================
java -jar %JAR_FILE% --config config\example-config.yml --users 10 --duration 60
echo.

echo ========================================
echo 8. 使用JSON配置文件运行测试
echo ========================================
java -jar %JAR_FILE% --config config\restful-api-config.json --format csv
echo.

echo ========================================
echo 9. 高并发压力测试
echo ========================================
echo 警告：这将产生较高的网络负载
echo 按任意键继续，或按Ctrl+C取消
pause > nul
java -jar %JAR_FILE% --url "https://httpbin.org/status/200" --users 50 --duration 60 --qps 100 --rampup 10
echo.

echo ========================================
echo 10. 自定义报告格式测试
echo ========================================
echo 生成HTML格式报告
java -jar %JAR_FILE% --config config\simple-config.yml --format html --output .\html-reports
echo.

echo 生成JSON格式报告
java -jar %JAR_FILE% --config config\simple-config.yml --format json --output .\json-reports
echo.

echo 生成CSV格式报告
java -jar %JAR_FILE% --config config\simple-config.yml --format csv --output .\csv-reports
echo.

echo ========================================
echo 示例演示完成
echo ========================================
echo 请查看生成的报告文件：
echo - .\results\ (默认输出目录)
echo - .\html-reports\
echo - .\json-reports\
echo - .\csv-reports\
echo.

echo 更多使用方法请参考：
echo java -jar %JAR_FILE% --help
echo.

pause